کاوش موضوع معماری نرم افزار
صفحه اصلی
معماری نرم افزار
معماری نرمافزار (Software Architecture) یکی از اساسیترین و مهمترین مراحل در فرآیند توسعه نرمافزار است. این حوزه به سازماندهی اجزا و تعیین ساختار کلی یک سیستم نرمافزاری میپردازد و تضمین میکند که سیستم بتواند نیازهای عملکردی و غیرعملکردی مشخصی را برآورده کند. این ساختار کلی نه تنها تعامل اجزا را تعریف میکند، بلکه اهداف تجاری، نیازهای کیفی و محدودیتهای فنی را نیز در بر میگیرد.
معماری نرمافزار از کلیدیترین بخشهای تولید نرمافزار مخصوصاً نوع تجاری آن است که البته در سالهای اخیر با ایجاد مدلهای کلاسیک تولید نرمافزار به نرمافزارهای عظیم تر محدود شده است.
معماری نرمافزار در واقع انتخاب یک ساختار کلی برای پیادهسازی یک پروژه نرمافزاری بر مبنای مجموعهای از نیازهای کاربری و تجاری یک سیستم نرمافزاری است تا هم بتوان کاربردهای مورد نظر را پیادهسازی کرد و هم بتوان کیفیت نرمافزار، تولید آن و نگهداری آن را نیز بهینه کرد و سرعت بخشید.
به عبارتی دیگر:
معماری نرمافزار یک برنامه یا سیستم محاسباتی، ساختار یا ساختارهای آن سیستم محاسباتی است که خصوصیات قابل رویت از بیرون، عناصر و ارتباطات بین آنها را نشان میدهد.
معماری نرمافزار فرایند تعریف یا راه حل نرمافزاری ساختارمند است به شکلی که بتواند کلیه نیازمندیهای فنی و عملیاتی مورد انتظار را، پوشش دهد.
این فرایند باید به شکلی انجام شود که معیارهای کیفی مانند بهرهدهی، امنیت و قابلیت اطمینان و مدیریتپذیری، بهینه شده باشند.
فیلیپ کرچن و گریدی بوش معماری نرمافزار را به صورت زیر تعریف مینمایند:
«معماری نرمافزار شامل تصمیمات کلیدی راجع به ساختار یک سیستم نرمافزاری است که شامل انتخاب اجزای سازنده نرمافزار و رابطههای آنها است. همچنین رفتار این اجزا را به عنوان تعاملی که باهم برای ساختن یک زیر سیستم بزرگتر، انجام میدهند، مشخص میسازد. معماری نرمافزار همچنین، کارکردها، قابلیت استفاده، انعطافپذیری، عملکرد، استفاده مجدد، قابل درک بودن، محدودیتهای اقتصادی و فناوری، نحوه تبادل اطلاعات و جنبههای زیبایی سیستم نرمافزاری را شامل میشود.»... بیشتر در ویکی پدیا